#include<iostream>
#include<algorithm>
const int N=1010;
using namespace std;
struct  node
{
    int index;
    int cnt;
}row[N],col[N];
bool cmp1(node&a,node&b)
{
    return a.cnt>b.cnt;
}
bool cmp2(node&a,node&b)
{
    return a.index<b.index;
}
int main()
{
    int m,n,k,l,d;cin>>m>>n>>k>>l>>d;
    for(int i=1;i<=m;i++) row[i].index=i;
    for(int i=1;i<=n;i++) col[i].index=i;
    while(d--)
    {
        int x,y,p,q;cin>>x>>y>>p>>q;
        if(x==p||y==q)
        {
            if(x==p&&y==q) continue;
            if(x==p)
            {
                col[min(y,q)].cnt++;
            }
            else
            {
                row[min(x,p)].cnt++;
            }
        }
    }
    sort(row+1,row+1+m,cmp1);
    sort(col+1,col+1+n,cmp1);
    sort(row+1,row+1+k,cmp2);
    sort(col+1,col+1+l,cmp2);
    for(int i=1;i<=k;i++) cout<<row[i].index<<" ";
    cout<<endl;
    for(int i=1;i<=l;i++) cout<<col[i].index<<" ";
    cout<<endl;
}